Лабораторна робота №4

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
Не вказано
Кафедра:
Кафедра СКС

Інформація про роботу

Рік:
2014
Тип роботи:
Лабораторна робота
Предмет:
Проектування спеціалізованих комп’ютерних систем

Частина тексту файла

Міністерство освіти та науки України Національний університет ”Львівська політехніка” ІКТА Кафедра СКС  Лабораторна робота №4 з дисципліни «ДОСЛІДЖЕННЯ ТА ПРОЕКТУВАННЯ СПЕЦІАЛІЗОВАНИХ КОМП’ЮТЕРНИХ СИСТЕМ Ч.1» Лабораторна робота №4 Тема робота: Обчислення математичного виразу на лабораторній платі DE0. Мета роботи: навчитися на мові опису апаратних засобів обчислювати математичний вираз з виводом результату на семисегментні індикатори плати DE0 застосовуючи наявні кнопки. Хід роботи: Підключаю лабораторну плату DE0  Пишу програмний код для обчислювання математичного виразу  Провіряю вірність написання програмного коду  Задаєю математичний вираз згідно варіанту  Задаю параметри  Перевірка роботоздатності …  Програмний код: module lab4 ( clk, push_button, seg71, seg72, seg73, seg74 ); input wire clk; input wire push_button; output reg [7:0] seg71; output reg [7:0] seg72; output reg [7:0] seg73; output reg [7:0] seg74; reg [3:0] operand_a = 0; reg [3:0] operand_b = 0; reg [7:0] res = 0; reg [24:0] delay_reg = 0; //кожному шістнадцятковому значенню присвоюємо код цифри на 7сег. індикаторі always @(posedge clk) case(operand_a) // P6543210 4'h0 : seg71 <= 8'b11000000; 4'h1 : seg71 <= 8'b11111001; 4'h2 : seg71 <= 8'b10100100; 4'h3 : seg71 <= 8'b10110000; 4'h4 : seg71 <= 8'b10011001; 4'h5 : seg71 <= 8'b10010010; 4'h6 : seg71 <= 8'b10000010; 4'h7 : seg71 <= 8'b11111000; 4'h8 : seg71 <= 8'b10000000; 4'h9 : seg71 <= 8'b10010000; 4'hA : seg71 <= 8'b10001000; 4'hB : seg71 <= 8'b10000011; 4'hC : seg71 <= 8'b11000110; 4'hD : seg71 <= 8'b10100001; 4'hE : seg71 <= 8'b10000110; 4'hF : seg71 <= 8'b10001110; endcase always @(posedge clk) case(operand_b) // P6543210 4'h0 : seg72 <= 8'b11000000; 4'h1 : seg72 <= 8'b11111001; 4'h2 : seg72 <= 8'b10100100; 4'h3 : seg72 <= 8'b10110000; 4'h4 : seg72 <= 8'b10011001; 4'h5 : seg72 <= 8'b10010010; 4'h6 : seg72 <= 8'b10000010; 4'h7 : seg72 <= 8'b11111000; 4'h8 : seg72 <= 8'b10000000; 4'h9 : seg72 <= 8'b10010000; 4'hA : seg72 <= 8'b10001000; 4'hB : seg72 <= 8'b10000011; 4'hC : seg72 <= 8'b11000110; 4'hD : seg72 <= 8'b10100001; 4'hE : seg72 <= 8'b10000110; 4'hF : seg72 <= 8'b10001110; endcase always @(posedge clk) case(res[3:0]) // P6543210 4'h0 : seg73 <= 8'b11000000; 4'h1 : seg73 <= 8'b11111001; 4'h2 : seg73 <= 8'b10100100; 4'h3 : seg73 <= 8'b10110000; 4'h4 : seg73 <= 8'b10011001; 4'h5 : seg73 <= 8'b10010010; 4'h6 : seg73 <= 8'b10000010; 4'h7 : seg73 <= 8'b11111000; 4'h8 : seg73 <= 8'b10000000; 4'h9 : seg73 <= 8'b10010000; 4'hA : seg73 <= 8'b10001000; 4'hB : seg73 <= 8'b10000011; 4'hC : seg73 <= 8'b11000110; 4'hD : seg73 <= 8'b10100001; 4'hE : seg73 <= 8'b10000110; 4'hF : seg73 <= 8'b10001110; endcase always @(posedge clk) case(res[7:4]) // P6543210 4'h0 : seg74 <= 8'b11000000; 4'h1 : seg74 <= 8'b11111001; 4'h2 : seg74 <= 8'b10100100; 4'h3 : seg74 <= 8'b10110000; 4'h4 : seg74 <= 8'b10011001; 4'h5 : seg74 <= 8'b10010010; 4'h6 : seg74 <= 8'b10000010; 4'h7 : seg74 <= 8'b11111000; 4'h8 : seg74 <= 8'b10000000; 4'h9 : seg74 <= 8'b10010000; 4'hA : seg74 <= 8'b10001000; 4'hB : seg74 <= 8'b10000011; 4'hC : seg74 <= 8'b11000110; 4'hD : seg74 <= 8'b10100001; 4'hE : seg74 <= 8'b10000110; 4'hF : seg74 <= 8'b10001110; endcase always @(posedge clk) begin //оскільки при натисканні кнопки може виникати "деренчання" //відповідно вводимо затримку if(push_button == 0 && delay_reg == 0) delay_reg <= delay_reg + 1'b1; else if(delay_reg != 0) begin delay_reg <= delay_reg + 1'b1; if(delay_reg[24] == 1'b1) delay_reg <= 0; end //щоб уникнути "деренчання" виконуємо нову операцію після затримки if(delay_reg[24] == 1'b1) begin operand_a <= operand_a + 1'b1; operand_b <= operand_b + 2'...
Антиботан аватар за замовчуванням

15.12.2014 21:12

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини